/* eslint-disable */
export const toUpperCase = (str) => {
    if (str[0]) {
        return str.replace(str[0], str[0].toUpperCase())
    } else {
        return ''
    }
}

export const toLowerCase = (str) => {
    if (str[0]) {
        return str.replace(str[0], str[0].toLowerCase())
    } else {
        return ''
    }
}

// 驼峰转换下划线
export const toSQLLine = (str) => {
    if (str === 'ID') return 'ID'
    return str.replace(/([A-Z])/g, "_$1").toLowerCase();
}

// 下划线转换驼峰
export const toHump = (name) => {
    return name.replace(/\_(\w)/g, function(all, letter) {
        return letter.toUpperCase();
    });
}

// 查找字符串是否在数组中

export const checkStrToArr = (code,authList) =>{
    if(!code) {
        return true
    }
    let flag = false
    if(code.indexOf("|")>-1){ // 说明有多个编码，并且“|”分割，处理逻辑：只要有一个编码在权限列表中时就显示
        const codeArr = code.split('|')
        for(let i=0;i<codeArr.length;i++){
            if(authList.indexOf(codeArr[i])>-1){ // 说明存在权限，则显示(只要有一个存在，就显示)
                flag = true
                break   
            }
        }
    }else if(code.indexOf("&")>-1){  //说明有多个编码，并且“&”分割，处理逻辑：必须所有编码都在权限列表中才显示
        const codeArr = code.split('&')
        let num = 0
        for(let i=0;i<codeArr.length;i++){
            if(authList.indexOf(codeArr[i])>-1){ 
                num++ 
            }
        }
        // 说明都在权限列表中
        if(num>=codeArr.length){
            flag = true 
        }

    }else if(authList.indexOf(code)>-1){  // 只有一个编码。处理逻辑：编码在权限列表中就显示
        flag = true 
    }
    return flag 
}